/*
 * gnizr is a trademark of Image Matters LLC in the United States.
 * 
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 * 
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License
 * for the specific language governing rights and limitations under the License.
 * 
 * The Initial Contributor of the Original Code is Image Matters LLC.
 * Portions created by the Initial Contributor are Copyright (C) 2007
 * Image Matters LLC. All Rights Reserved.
 */
package com.gnizr.db.dao.subscription;

import java.io.Serializable;
import java.util.List;

import com.gnizr.db.dao.DaoResult;
import com.gnizr.db.dao.FeedSubscription;
import com.gnizr.db.dao.Folder;
import com.gnizr.db.dao.User;

/**
 * @author Torey
 *
 */
public interface FeedSubscriptionDao extends Serializable {
	public int createSubscription(FeedSubscription subscription);
	public boolean updateSubscription(FeedSubscription subscription);
	public boolean deleteSubscription(User owner, String feedUrl);
	public FeedSubscription getSubscription(int id);
	public FeedSubscription getSubscription(User owner, String feedUrl);
	public DaoResult<FeedSubscription> pageSubscription(User user, int offset, int count);
	public int addImportFolders(FeedSubscription subscription, List<Folder> folders);
	public int removeImportFolders(FeedSubscription subscription, List<Folder> folders);
	public List<Folder> listImportFolder(FeedSubscription subscription);
	public List<FeedSubscription> listAutoImportSubscription(int ageHour);
}
